package presentacion;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.util.Vector;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingConstants;
import javax.swing.border.Border;
import javax.swing.border.TitledBorder;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;

import logicaDelNegocio.Conmutador;
import logicaDelNegocio.RedDeComunicacion;

public class JPanelConmutadores extends JPanel{
	RedDeComunicacion redAux;
	Border lineaContorno; 
	Border tituloContorno;
	JButton btnEditarConmutadores;
	
	String [] titulos = {"id","Costo","CantidadDeTerminalesAsociadas"};
	String [][] datosTabla;
	
	JTable table;
	JScrollPane scrollPaneTabla;
	
	
	
	public JPanelConmutadores(){
		
		inicializarPanelConmutadores();

	}
	
	public void setComponentes(RedDeComunicacion red) {

		redAux = red;
		this.setLayout(new BorderLayout());

		datosTabla = new String[redAux.getConmutadores().size()][titulos.length];

		for (int i = 0; i < redAux.getConmutadores().size(); i++) {
			datosTabla[i][0] = redAux.getConmutadores().get(i)
					.getIdConmutador();
			datosTabla[i][1] = Float.toString(redAux.getConmutadores().get(i)
					.getCostoDeConmutacion());
			datosTabla[i][2] = Integer.toString(redAux.getConmutadores().get(i)
					.getListaDeTerminales().size());
		}

		table = new JTable(datosTabla, titulos);
		table.setPreferredScrollableViewportSize(new Dimension(400, 470));
		table.setEnabled(false);
		// Creamos un JscrollPane y le agregamos la JTable
		scrollPaneTabla = new JScrollPane(table);
		scrollPaneTabla.setSize(400, 200);
		
		// Centrar las celdas de la tabla
		DefaultTableCellRenderer modelocentrar = new DefaultTableCellRenderer();
		modelocentrar.setHorizontalAlignment(SwingConstants.CENTER);
		for (int i = 0; i < titulos.length; i++) {
			table.getColumnModel().getColumn(i).setCellRenderer(modelocentrar);
		}
			    
		// Agregamos el JScrollPane al contenedor
		this.add(scrollPaneTabla);
//		btnEditarConmutadores = new JButton("Editar Conmutaores");
//		this.add(btnEditarConmutadores,BorderLayout.SOUTH);

	}
	
	public void inicializarPanelConmutadores() {
		this.lineaContorno = BorderFactory.createLineBorder(
				Color.getHSBColor(3, 2, 0), 4, true);
		this.tituloContorno = BorderFactory.createTitledBorder(lineaContorno,
				"Conmutadores", TitledBorder.CENTER, TitledBorder.TOP);
		this.setVisible(true);
		this.setSize(new Dimension(400, 400));
		this.setBorder(lineaContorno);
		this.setBorder(tituloContorno);
		this.setVisible(true);

	}
	
	public void borrarElementos(){
		titulos=null;
		datosTabla=null;
		inicializarPanelConmutadores();
		this.repaint();
	}
	
	
}

